unset the pressed button here. (gtk_notebook_grab_notify): stop reorder
authorCarlos Garnacho <carlosg@gnome.org>
Tue, 20 Jun 2006 11:48:21 +0000 (11:48 +0000)
committerCarlos Garnacho <carlosg@src.gnome.org>
Tue, 20 Jun 2006 11:48:21 +0000 (11:48 +0000)
2006-06-20  Carlos Garnacho  <carlosg@gnome.org>

        * gtk/gtknotebook.c (gtk_notebook_stop_reorder): unset the pressed
        button here.
        (gtk_notebook_grab_notify): stop reorder when the widget becomes
        shadowed. Fixes bug #335873

ChangeLog
ChangeLog.pre-2-10
gtk/gtknotebook.c

index 3833cbc98e1c5dfec0700c60955ed17169a5aec1..9d8ecb7b77954e7ba2c34df9521c79306eabf1a1 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2006-06-20  Carlos Garnacho  <carlosg@gnome.org>
+
+       * gtk/gtknotebook.c (gtk_notebook_stop_reorder): unset the pressed
+       button here.
+       (gtk_notebook_grab_notify): stop reorder when the widget becomes
+       shadowed. Fixes bug #335873
+
 2006-06-18  Christian Persch  <chpe@cvs.gnome.org>
 
        * gtk/gtkdialog.c: (gtk_dialog_class_init): Set default action area
index 3833cbc98e1c5dfec0700c60955ed17169a5aec1..9d8ecb7b77954e7ba2c34df9521c79306eabf1a1 100644 (file)
@@ -1,3 +1,10 @@
+2006-06-20  Carlos Garnacho  <carlosg@gnome.org>
+
+       * gtk/gtknotebook.c (gtk_notebook_stop_reorder): unset the pressed
+       button here.
+       (gtk_notebook_grab_notify): stop reorder when the widget becomes
+       shadowed. Fixes bug #335873
+
 2006-06-18  Christian Persch  <chpe@cvs.gnome.org>
 
        * gtk/gtkdialog.c: (gtk_dialog_class_init): Set default action area
index 68a672ea8a60f352f83755ad25ae173b025ec45a..a846aa29dbd9629a9b9220d60fdf45e119b7c5f2 100644 (file)
@@ -2592,6 +2592,8 @@ gtk_notebook_stop_reorder (GtkNotebook *notebook)
   if (!page)
     return;
 
+  priv->pressed_button = -1;
+
   if (page->reorderable || page->detachable)
     {
       if (!priv->during_detach)
@@ -2646,10 +2648,7 @@ gtk_notebook_button_release (GtkWidget      *widget,
   if (!priv->during_detach &&
       page->reorderable &&
       event->button == priv->pressed_button)
-    {
-      priv->pressed_button = -1;
-      gtk_notebook_stop_reorder (notebook);
-    }
+    gtk_notebook_stop_reorder (notebook);
 
   if (event->button == notebook->button)
     {
@@ -2834,7 +2833,6 @@ gtk_notebook_motion_notify (GtkWidget      *widget,
   if (!(event->state & GDK_BUTTON1_MASK) &&
       priv->pressed_button != -1)
     {
-      priv->pressed_button = -1;
       gtk_notebook_stop_reorder (notebook);
       stop_scrolling (notebook);
     }
@@ -2920,8 +2918,13 @@ static void
 gtk_notebook_grab_notify (GtkWidget *widget,
                          gboolean   was_grabbed)
 {
+  GtkNotebook *notebook = GTK_NOTEBOOK (widget);
+
   if (!was_grabbed)
-    stop_scrolling (GTK_NOTEBOOK (widget));
+    {
+      gtk_notebook_stop_reorder (notebook);
+      stop_scrolling (notebook);
+    }
 }
 
 static void
@@ -3073,7 +3076,6 @@ gtk_notebook_drag_end (GtkWidget      *widget,
 {
   GtkNotebookPrivate *priv = GTK_NOTEBOOK_GET_PRIVATE (widget);
 
-  priv->pressed_button = -1;
   gtk_notebook_stop_reorder (GTK_NOTEBOOK (widget));
 
   GTK_BIN (priv->dnd_window)->child = NULL;